/*
 * ================================================================================变量定义区
 */

var showCount   = 10; // 定义每页显示条数
var currentPage = 1; //全局变量，当前页


/*
 * ================================================================================页面初始化函数
 */
$(function() 
{
	//加载datetimepicker插件
	$('#startTime').datetimepicker
	({
		dateFormat: 'yy-mm-dd',
		timeFormat: 'HH:mm:ss'
	});

			
	$('#endTime').datetimepicker
	({
		dateFormat: 'yy-mm-dd',
		timeFormat: 'HH:mm:ss'
	});
	
    //设置开始时间的默认时间
	var currentTime = $('#endTime').val();
	var startTime = currentTime.substring(0, currentTime.indexOf(" ")+1) + "00:00:00";	
	$('#startTime').val(startTime);
	
	//返回当前页
	var pageType = $("#pageType").val();
	
	if(pageType === 'lastest')
	{
		getLastestListAndForm();
	}
	else
	{
		getCurrentList(currentPage);
	}
	
	//绑定回车事件
	document.onkeydown = function(event)
	{ 
		var e = event || window.event || arguments.callee.caller.arguments[0];
		    
	    if(e && e.keyCode==13) 
	    {
	    	event.preventDefault?event.preventDefault():event.retumValue=false;
	    	queryButtonClickEvent();
	    }
	};
});

/*
 * ================================================================================函数定义区
 * 
 */
/**
 * 获取列表数据
 * @param currentPage 请求的页码
 */
function getDataList(param)
{
	
	$.ajax(
	{
		type: 		'POST',
		url:  		BASE_PATH + '/systemMonitor/SQLMonitor/getSQLMonitorList.do',
		dataType:   'json',
		data: param,
		cache : false,
		
		success:function(data,textStatus)
		{
			var html = "";
			var pageData = data;
			var totalResult = pageData.queryParam.totalResult;
			var tempResult = "";
			
			if(data.queryResult != null)
			{
				$.each(data.queryResult,function(i,n)
				{
					if(n.execResult =="0")
					{
						tempResult = "失败";
					}
					else
					{
						tempResult = "成功";
					}
					if(n.cnName==null)
					{
						n.cnName="";
					}

	        		html +='<tr onclick="chooseRow(this,false);"  id="tr_index_'+i+'">';
	        		html +=     '<input  name="id" type="hidden" value="' + check(n.id) + '" />';
	        		html +=		'<td style="text-align: center;"  title="'+(n.createTime)+'">'+check(n.createTime)+'</td>';
					html +=		'<td style="text-align: right;" title='+switcHtml(check(n.sqlId))+'>'+switcHtml(check(n.sqlId))+'</td>';
					html +=		'<td style="text-align: left;" title="'+switcHtml(check(n.sqlContent))+'">'+switcHtml(check(n.sqlContent))+'</td>';
					html +=		'<td style="text-align: center;" title='+check(tempResult)+'>'+check(tempResult)+'</td>';
					html +=		'<td style="text-align: right;" title='+check(n.execTime)+'>'+check(n.execTime)+'</td>';
					html +=		'<td style="text-align: left;" title='+switcHtml(check(n.url))+'>'+switcHtml(check(n.url))+'</td>';
	        		html +=		'<td style="text-align: left;"  title='+n.cnName+'('+check(n.createUser)+')'+'>'+n.cnName+'('+check(n.createUser)+')'+'</td>';
					html +=		'<td style="text-align: center;"title='+check(n.sqlType)+'>'+check(n.sqlType)+'</td>';
					html +=		'<td style="text-align: right;"  title='+check(n.effectRows)+'>'+check(n.effectRows)+'</td>';
	        		html +=     '<td style="width: 1px;"></td>';
	        		html +='</tr>';
				});
			}
			
			$('#tBodyList').html(html);
			currentPage = param.currentPage;
        	
    		if(totalResult == 0)
    		{
    			$('#tBodyList').html('<tr><td style="text-align:center;">No items.</td></tr>');
    			$("#pagination").hide();
    		} 
    		
    		else 
    		{
    			// 创建分页
    			$("#pagination").show();
    			$("#pagination").pagination(totalResult, 
    			{
    				num_edge_entries: 1, //边缘页数
    				num_display_entries: 3, //主体页数
    				current_page:currentPage,
    				callback: pageListCallback,
    				items_per_page:showCount //每页显示1项
    			});
    		}
    		
        	chooseId = null;
        },
        
		error:function(e)
		{
			openAlert("加载数据错误！"); 
			 return;
		}

	});
}

/**
 * 获取当前请求列表
 */
function getCurrentList(pageIndex)
{
	//获取查询参数
	var startTime = $("#startTime").val();
	var endTime = $("#endTime").val();
	var execResult =$("#execResult option:selected").val();
	var sqlId = $("#sqlId").val().trim().toUpperCase();
	var sqlContent = $("#sqlContent").val().trim().toUpperCase();
	var userName = $("#userName").val().trim().toUpperCase();

	$("input[type='text']").change(function()
	{
		$("#queryForm").find("input[name='totalResult']").val(0);
	});

	var param = 
	{
        "showCount"     				:showCount,
        "currentPage"   				:pageIndex,
        "startTime"   				    :startTime,
        "endTime"   					:endTime,
        "execResult"        			:execResult,
        "sqlId"      					:sqlId,
        "sqlContent"      				:sqlContent,
        "userName"      				:userName,
        "query_condition_field_list" 	:"startTime,endTime,execResult,sqlId,sqlContent,userName"
    };
	
	getDataList(param);
	//向SessionStorage存储数据
	SessionStorage.setSearchParam(
	{
		formParam: 
		{
			startTime: startTime,
			endTime: endTime,
			execResult:execResult,
			sqlId     : sqlId,
			sqlContent: sqlContent,
			userName: userName
		},
		searchParam: param
	});
}
/**
 * 获取最近一次的列表
 * 从SessionStorage中获取参数
 */
function getLastestListAndForm()
{
	//获取参数
	var param = SessionStorage.getSearchParam(),
		//表单参数
		formParam = param.formParam,
		//搜索参数
		searchParam = param.searchParam;
	
	$("#startTime").val(formParam.startTime);
	
	$("#endTime").val(formParam.endTime);
	
	$("#execResult").val(formParam.execResult);
	
	$("#sqlId").val(formParam.sqlId);
	
	$("#sqlContent").val(formParam.sqlContent);
	
	$("#userName").val(formParam.userName);
	//列表获取
	getDataList(searchParam);
	//向SessionStorage存储数据
	SessionStorage.setSearchParam(
	{
		formParam: formParam,
		searchParam: searchParam
	});
}
	
/**
 * 查询按钮绑定事件 
 */
function queryButtonClickEvent()
{
	getCurrentList(1);
	
}

/**
 * 分页数据回调函数
 * @param pageIndex 请求页
 */
function pageListCallback(pageIndex)
{

	getCurrentList(pageIndex);
}

/**
 * 获取详情数据
 * @param pageIndex 请求页
 */
function getListDetails(id)
{
	var id = getSelectedRows();
	if (!id || id.length < 1) 
	{
		openAlert('请选择一条记录');
		return false;
	}
	setUnSearchFormParam();
	var detailsId = $("#" + id).find("input[name=id]").val();
	$("#submitDetails [name=detailsId]").val(detailsId);
	$("#submitDetails").submit();
}

/**
 * 判断变量是否为空
 * @param args 需要判断的变量
 */
function check(name)
{
	if(name == null)
	{
		return name='';
	}
	else
	{
		return name;
	}
	
}

//重新设置表单参数
function setUnSearchFormParam()
{
	// 获取参数
	var param = SessionStorage.getSearchParam();
	// 设置表单参数
	param.formParam = 
	{
		startTime: $("#startTime").val(),
		endTime:  $("#endTime").val(),
		execResult:$("#execResult").val(),
		sqlId     : $("#sqlId").val(),
		sqlContent: $("#sqlContent").val(),
		userName:$("#userName").val()

	};
	// 重置SessionStrage数据
	SessionStorage.setSearchParam(param);
}
